package com.ruoyi.uav.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 操作练习对象 uav_operation_exercise
 *
 * @author ruoyi
 * @date 2024-01-04
 */
@Data
@ApiModel(value = "操作练习对象", description = "操作练习对象")
public class UavOperationExercise extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 操作练习id */
    @ApiModelProperty("操作练习id")
    @TableId(value = "operation_exercise_id" ,type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long operationExerciseId;

    /** 用户姓名 */
    @ApiModelProperty("用户姓名")
    @Excel(name = "用户姓名")
    private String userName;

    /** 队别id(部门id) */
    @ApiModelProperty("队别id(部门id)")
    @Excel(name = "队别id(部门id)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long deptId;

    /** 队别名称(部门名称) */
    @ApiModelProperty("队别名称(部门名称)")
    @Excel(name = "队别名称(部门名称)")
    private String deptName;

    /** 想定名称 */
    @ApiModelProperty("想定名称")
    @Excel(name = "想定名称")
    private String proposeName;

    /** 训练记录（视频地址） */
    @ApiModelProperty("训练记录（视频地址）")
    @Excel(name = "训练记录", readConverterExp = "视=频地址")
    private String trainingRecord;

    /** 训练模式 */
    @ApiModelProperty("训练模式")
    @Excel(name = "训练模式")
    private String trainingPattern;

    /** 无人机类型 */
    @ApiModelProperty("无人机类型")
    @Excel(name = "无人机类型")
    private String uavType;

    /** 开始时间 */
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 训练时长 */
    @ApiModelProperty("训练时长")
    @Excel(name = "训练时长")
    private String trainingDuration;

    /** 最长时间 */
    @ApiModelProperty("最长时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最长时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date maximumTime;

    /** 最短时间 */
    @ApiModelProperty("最短时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最短时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date minimumTime;

    /** 训练次数 */
    @ApiModelProperty("训练次数")
    @Excel(name = "训练次数")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long trainingNum;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;


}
